package exception;

/**
 *
 */
public class TryCatchDemo {
    public static void main(String[] args) {
        System.out.println("程序开始了...");
        try {
     //       String str = null;
            String str = "a";
            //当JVM执行程序遇到一个异常时就会实例化该异常并将其抛出
            System.out.println(str.length());

            System.out.println(str.charAt(0));

            System.out.println(Integer.parseInt(str));
            //try语句块中报错语句下面的内容都不会被执行！
            System.out.println("!!!!!!!!!!!!!!!!!");

            // } catch (NullPointerException e) {
            //try中出现空指针的解决办法，实际开发要结合需求来进行处理。
            //  System.out.println("出现了空指针！");
            //可以定义多个catch来捕获不同的异常并进行对应的处理
            //}catch(StringIndexOutOfBoundsException e){
            // System.out.println("出现字符串的下标越界的统一解决办法！");

        }catch (NullPointerException | StringIndexOutOfBoundsException e){
            System.out.println("出现空指针或下标越界的统一解决办法！");

        //可以在最后一个catch处捕获Exception,避免因为一个未捕获的异常导致程序中断
        }catch(Exception e){
            System.out.println("反正就是出了一个错！");
        }
        System.out.println("");
    }
}
